package com.yoshino.template;

/**
 * @author yoshino
 **/
public abstract class SoyaMilk {

    // 模板方法，make，模板方法可以做成final，不让子类去覆盖
    final void make() {

        select();
        addCondiments();
        soak();
        beat();
    }

    // 选材料
    void select() {
        System.out.println("1.选好的黄豆");
    }

    // 添加不同的配料，抽象方法，子类具体实现
    abstract void addCondiments();

    // 浸泡
    void soak() {
        System.out.println("3.黄豆和配料开始浸泡，需要 3 小时");
    }

    void beat() {
        System.out.println("4.黄豆和配料放入豆浆机");
    }
}
